package com.bookcloud.java21.chapter6.抽象类69;

// 一、抽象类的定义方式：abstract
public abstract class Shape {
  // 字段
  protected String color;

  // 构造方法
  public Shape(String color) {
    this.color = color;
    System.out.println("Shape构造方法被调用");
  }

  // 二、抽象方法（没有实现）
  public abstract double getArea();

  public abstract double getPerimeter();

  // 具体方法（有实现）
  public String getColor() {
    return color;
  }

  public void setColor(String color) {
    this.color = color;
  }

  // 具体方法
  public void displayInfo() {
    System.out.println("形状颜色: " + color);
    System.out.println("面积: " + getArea());
    System.out.println("周长: " + getPerimeter());
  }
}
